#ifndef _PLAYER_H_
#define _PLAYER_H_

//////// player.h ////////////////////////////////////////////////////////
//    Author:        Richard (richard.lindholm85@gmail.com)             //
//    Project:    some game project                                     //
//    Version:    0.1                                                   //
//    Purpose:    Player class,                                         //
//                Handles the player and some of its functions          //
//    Comments:    Maybe I should use K.I.S.S. (Keep It Simple Stupid)  //
//                more                                                  //
//////////////////////////////////////////////////////////////////////////

#include <string>
#include "object.h"

;
enum PLAYERSTATE
{
    PSTATE_IDLE = 0,
    PSTATE_RUNNING,
    PSTATE_JUMPING,
    PSTATE_ERROR = 666
};

class cPlayer : public cGameObject
{
public:
    cPlayer();
    //cPlayer(int startHP, int startX, int startY, int width, int height, std::string playerName);
    ~cPlayer();
    
    float getHP() { return m_fHP; }

    void setHP(const float newHP) { m_fHP = newHP; }
    void setHP(const int newHP) { m_fHP = (float)newHP; }

    bool removeHP(float damageTaken);
    
    unsigned int getPlayerState();
    void setPlayerState(unsigned int pState);

protected:
    float m_fHP;
    unsigned int m_uiPlayerState;

private:

    //vector<pair<cPlayer*, cGameObject*>> m_pPlayers;
    //std::pair<cPlayer*, cGameObject*> m_pCurrentPlayer;

}

#endif